package com.ruoyi.mall.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 抢购订单对象 mall_time_order
 *
 * @author ruoyi
 * @date 2022-03-01
 */
public class MallTimeOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** $column.columnComment */
//    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long uid;

    /** 创建此单用户ID */
//    @Excel(name = "创建此单用户ID")
    private Long userId;

    /** 创建此单用户名 */
//    @Excel(name = "创建此单用户名")
    private String userName;

    /** 所属仓库ID */
//    @Excel(name = "所属仓库ID")
    private Long regionId;

    /** 所属仓库名 */
//    @Excel(name = "所属仓库名")
    private String regionName;

    /** 商品ID */
//    @Excel(name = "商品ID")
    private Long goodsId;

    /** 商品图 */
//    @Excel(name = "商品图")
    private String goodsImg;

    /** 订单编号 */
    @Excel(name = "订单编号")
    private String orderNumber;

    /** 商品名 */
    @Excel(name = "商品")
    private String goodsName;

    /** 委托价 */
//    @Excel(name = "委托价")
    private BigDecimal entrustPrice;

    /** 商品价 */
//    @Excel(name = "商品价")
    private BigDecimal goodsPrice;

    /** 手续费 */
//    @Excel(name = "手续费")
    private BigDecimal proceduresPrice;

    /** 卖家用户ID */
//    @Excel(name = "卖家用户ID")
    private Long sellerUserId;

    /** 卖家用户信息 */
//    @Excel(name = "卖家用户信息")
    private String sellerUserInfo;

    /** 买家用户ID */
//    @Excel(name = "买家用户ID")
    private Long buyersUserId;

    /** 买家用户信息 */
//    @Excel(name = "买家用户信息")
    private String buyersUserName;

    /** 状态：1-待付款 2-付款待确认 3-待委托 4-待发货 5-待收货 6-已完成 7-已取消 8-已上架 9-已删除*/
//    @Excel(name = "状态：1-待付款 2-付款待确认 3-付款已确认 4-待发货 5-待收货 6-已完成 7-已取消 8-已上架 9-已删除")
    private Integer status;

    /** 卖家订单状态：1-待付款 2-付款待确认 3-付款已确认 4-待发货 5-待收货 6-已完成 7-已取消 8-已上架 9-已删除*/
//    @Excel(name = "卖家订单状态：1-待付款 2-付款待确认 3-付款已确认 4-待发货 5-待收货 6-已完成 7-已取消 8-已上架 9-已删除")
    private Integer sellerStatus;

    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    @Excel(name = "支付时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date payTime;

    /** 推广 */
//    @Excel(name = "推广")
    private String extension;

    /** 实付金额 */
    @Excel(name = "实付金额")
    private BigDecimal payMoney;

    /** 应付金额 */
//    @Excel(name = "应付金额")
    private BigDecimal totalPrice;

    /** 委托优惠金额 */
//    @Excel(name = "委托优惠金额")
    private BigDecimal entrustDiscountPrice;

    /** 取消时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    @Excel(name = "取消时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date cancelTime;

    /** 支付方式：1-支付宝支付 2-支付宝二维码 3-微信二维码 4-银行卡 5-委托订单 */
//    @Excel(name = "支付方式：1-支付宝支付 2-支付宝二维码 3-微信二维码 4-银行卡 5-委托订单")
    private Integer payWay;

    /** 是否支付：0-未付款 1-已付款 */
//    @Excel(name = "是否支付：0-未付款 1-已付款")
    private Integer isPay;

    /** 付款确认时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    @Excel(name = "付款确认时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date confirmpayTime;

    /** 卖方完成时间【买方已确认时间】 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    @Excel(name = "卖方完成时间【买方已确认时间】", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date sellerReviewTime;

    /** 是否为委托订单：0-否 1-是 */
//    @Excel(name = "是否为委托订单：0-否 1-是")
    private Integer isEntrust;

    /** 是否首次购买：0-否 1-是 */
//    @Excel(name = "是否首次购买：0-否 1-是")
    private Integer isFirst;

    /** 类型：1-抢购商品 */
//    @Excel(name = "类型：1-抢购商品")
    private Integer type;

    /** 我的优惠券ID */
//    @Excel(name = "我的优惠券ID")
    private Long myCouponId;

    /** 优惠券抵扣金额 */
//    @Excel(name = "优惠券抵扣金额")
    private BigDecimal couponMoney;

    /** 运费 */
//    @Excel(name = "运费")
    private BigDecimal freight;

    /** 联系人 */
    @Excel(name = "联系人")
    private String linkman;

    /** 联系电话 */
    @Excel(name = "联系电话")
    private String mobilePhone;

    /** 省 */
    @Excel(name = "省")
    private String province;

    /** 市 */
    @Excel(name = "市")
    private String city;

    /** 区 */
    @Excel(name = "区")
    private String area;

    /** 收货地址 */
    @Excel(name = "收货地址")
    private String address;

    /** 提醒收货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    @Excel(name = "提醒收货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date remindTime;

    /** 物流ID */
//    @Excel(name = "物流ID")
    private Long expressId;

    /** 物流名称 */
//    @Excel(name = "物流名称")
    private String expressName;

    /** 物流单号 */
//    @Excel(name = "物流单号")
    private String expressNumber;

    /** 发货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date expressTime;

    /** 确认收货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    @Excel(name = "确认收货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date confirmTime;

    /** 已完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
//    @Excel(name = "已完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date reviewTime;


    /** 下单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @Override
    public Date getCreateTime() {
        return createTime;
    }

    @Override
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /** 支付凭证 */
//    @Excel(name = "支付凭证")
    private String upPayImg;

    private String avatar;
    private String name;
    private String phone;
    private String money;

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getMoney() {
        return money;
    }

    public void setMoney(String money) {
        this.money = money;
    }

    public Integer getSellerStatus() {
        return sellerStatus;
    }

    public void setSellerStatus(Integer sellerStatus) {
        this.sellerStatus = sellerStatus;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setUid(Long uid)
    {
        this.uid = uid;
    }

    public Long getUid()
    {
        return uid;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setUserName(String userName)
    {
        this.userName = userName;
    }

    public String getUserName()
    {
        return userName;
    }
    public void setRegionId(Long regionId)
    {
        this.regionId = regionId;
    }

    public Long getRegionId()
    {
        return regionId;
    }
    public void setRegionName(String regionName)
    {
        this.regionName = regionName;
    }

    public String getRegionName()
    {
        return regionName;
    }
    public void setGoodsId(Long goodsId)
    {
        this.goodsId = goodsId;
    }

    public Long getGoodsId()
    {
        return goodsId;
    }
    public void setGoodsImg(String goodsImg)
    {
        this.goodsImg = goodsImg;
    }

    public String getGoodsImg()
    {
        return goodsImg;
    }
    public void setGoodsName(String goodsName)
    {
        this.goodsName = goodsName;
    }

    public String getGoodsName()
    {
        return goodsName;
    }
    public void setOrderNumber(String orderNumber)
    {
        this.orderNumber = orderNumber;
    }

    public String getOrderNumber()
    {
        return orderNumber;
    }
    public void setEntrustPrice(BigDecimal entrustPrice)
    {
        this.entrustPrice = entrustPrice;
    }

    public BigDecimal getEntrustPrice()
    {
        return entrustPrice;
    }
    public void setGoodsPrice(BigDecimal goodsPrice)
    {
        this.goodsPrice = goodsPrice;
    }

    public BigDecimal getGoodsPrice()
    {
        return goodsPrice;
    }
    public void setProceduresPrice(BigDecimal proceduresPrice)
    {
        this.proceduresPrice = proceduresPrice;
    }

    public BigDecimal getProceduresPrice()
    {
        return proceduresPrice;
    }
    public void setSellerUserId(Long sellerUserId)
    {
        this.sellerUserId = sellerUserId;
    }

    public Long getSellerUserId()
    {
        return sellerUserId;
    }
    public void setSellerUserInfo(String sellerUserInfo)
    {
        this.sellerUserInfo = sellerUserInfo;
    }

    public String getSellerUserInfo()
    {
        return sellerUserInfo;
    }
    public void setBuyersUserId(Long buyersUserId)
    {
        this.buyersUserId = buyersUserId;
    }

    public Long getBuyersUserId()
    {
        return buyersUserId;
    }
    public void setBuyersUserName(String buyersUserName)
    {
        this.buyersUserName = buyersUserName;
    }

    public String getBuyersUserName()
    {
        return buyersUserName;
    }
    public void setStatus(Integer status)
    {
        this.status = status;
    }

    public Integer getStatus()
    {
        return status;
    }
    public void setPayTime(Date payTime)
    {
        this.payTime = payTime;
    }

    public Date getPayTime()
    {
        return payTime;
    }
    public void setExtension(String extension)
    {
        this.extension = extension;
    }

    public String getExtension()
    {
        return extension;
    }
    public void setPayMoney(BigDecimal payMoney)
    {
        this.payMoney = payMoney;
    }

    public BigDecimal getPayMoney()
    {
        return payMoney;
    }
    public void setTotalPrice(BigDecimal totalPrice)
    {
        this.totalPrice = totalPrice;
    }

    public BigDecimal getTotalPrice()
    {
        return totalPrice;
    }
    public void setEntrustDiscountPrice(BigDecimal entrustDiscountPrice)
    {
        this.entrustDiscountPrice = entrustDiscountPrice;
    }

    public BigDecimal getEntrustDiscountPrice()
    {
        return entrustDiscountPrice;
    }
    public void setCancelTime(Date cancelTime)
    {
        this.cancelTime = cancelTime;
    }

    public Date getCancelTime()
    {
        return cancelTime;
    }
    public void setPayWay(Integer payWay)
    {
        this.payWay = payWay;
    }

    public Integer getPayWay()
    {
        return payWay;
    }
    public void setIsPay(Integer isPay)
    {
        this.isPay = isPay;
    }

    public Integer getIsPay()
    {
        return isPay;
    }
    public void setConfirmpayTime(Date confirmpayTime)
    {
        this.confirmpayTime = confirmpayTime;
    }

    public Date getConfirmpayTime()
    {
        return confirmpayTime;
    }
    public void setSellerReviewTime(Date sellerReviewTime)
    {
        this.sellerReviewTime = sellerReviewTime;
    }

    public Date getSellerReviewTime()
    {
        return sellerReviewTime;
    }
    public void setIsEntrust(Integer isEntrust)
    {
        this.isEntrust = isEntrust;
    }

    public Integer getIsEntrust()
    {
        return isEntrust;
    }
    public void setIsFirst(Integer isFirst)
    {
        this.isFirst = isFirst;
    }

    public Integer getIsFirst()
    {
        return isFirst;
    }
    public void setType(Integer type)
    {
        this.type = type;
    }

    public Integer getType()
    {
        return type;
    }
    public void setMyCouponId(Long myCouponId)
    {
        this.myCouponId = myCouponId;
    }

    public Long getMyCouponId()
    {
        return myCouponId;
    }
    public void setCouponMoney(BigDecimal couponMoney)
    {
        this.couponMoney = couponMoney;
    }

    public BigDecimal getCouponMoney()
    {
        return couponMoney;
    }
    public void setFreight(BigDecimal freight)
    {
        this.freight = freight;
    }

    public BigDecimal getFreight()
    {
        return freight;
    }
    public void setLinkman(String linkman)
    {
        this.linkman = linkman;
    }

    public String getLinkman()
    {
        return linkman;
    }
    public void setMobilePhone(String mobilePhone)
    {
        this.mobilePhone = mobilePhone;
    }

    public String getMobilePhone()
    {
        return mobilePhone;
    }
    public void setProvince(String province)
    {
        this.province = province;
    }

    public String getProvince()
    {
        return province;
    }
    public void setCity(String city)
    {
        this.city = city;
    }

    public String getCity()
    {
        return city;
    }
    public void setArea(String area)
    {
        this.area = area;
    }

    public String getArea()
    {
        return area;
    }
    public void setAddress(String address)
    {
        this.address = address;
    }

    public String getAddress()
    {
        return address;
    }
    public void setRemindTime(Date remindTime)
    {
        this.remindTime = remindTime;
    }

    public Date getRemindTime()
    {
        return remindTime;
    }
    public void setExpressId(Long expressId)
    {
        this.expressId = expressId;
    }

    public Long getExpressId()
    {
        return expressId;
    }
    public void setExpressName(String expressName)
    {
        this.expressName = expressName;
    }

    public String getExpressName()
    {
        return expressName;
    }
    public void setExpressNumber(String expressNumber)
    {
        this.expressNumber = expressNumber;
    }

    public String getExpressNumber()
    {
        return expressNumber;
    }
    public void setExpressTime(Date expressTime)
    {
        this.expressTime = expressTime;
    }

    public Date getExpressTime()
    {
        return expressTime;
    }
    public void setConfirmTime(Date confirmTime)
    {
        this.confirmTime = confirmTime;
    }

    public Date getConfirmTime()
    {
        return confirmTime;
    }
    public void setReviewTime(Date reviewTime)
    {
        this.reviewTime = reviewTime;
    }

    public Date getReviewTime()
    {
        return reviewTime;
    }
    public void setUpPayImg(String upPayImg)
    {
        this.upPayImg = upPayImg;
    }

    public String getUpPayImg()
    {
        return upPayImg;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("uid", getUid())
            .append("userId", getUserId())
            .append("userName", getUserName())
            .append("regionId", getRegionId())
            .append("regionName", getRegionName())
            .append("goodsId", getGoodsId())
            .append("goodsImg", getGoodsImg())
            .append("goodsName", getGoodsName())
            .append("orderNumber", getOrderNumber())
            .append("entrustPrice", getEntrustPrice())
            .append("goodsPrice", getGoodsPrice())
            .append("proceduresPrice", getProceduresPrice())
            .append("sellerUserId", getSellerUserId())
            .append("sellerUserInfo", getSellerUserInfo())
            .append("buyersUserId", getBuyersUserId())
            .append("buyersUserName", getBuyersUserName())
            .append("status", getStatus())
            .append("sellerStatus", getSellerStatus())
            .append("createTime", getCreateTime())
            .append("payTime", getPayTime())
            .append("extension", getExtension())
            .append("payMoney", getPayMoney())
            .append("totalPrice", getTotalPrice())
            .append("entrustDiscountPrice", getEntrustDiscountPrice())
            .append("cancelTime", getCancelTime())
            .append("payWay", getPayWay())
            .append("isPay", getIsPay())
            .append("confirmpayTime", getConfirmpayTime())
            .append("sellerReviewTime", getSellerReviewTime())
            .append("isEntrust", getIsEntrust())
            .append("isFirst", getIsFirst())
            .append("type", getType())
            .append("myCouponId", getMyCouponId())
            .append("couponMoney", getCouponMoney())
            .append("freight", getFreight())
            .append("remark", getRemark())
            .append("linkman", getLinkman())
            .append("mobilePhone", getMobilePhone())
            .append("province", getProvince())
            .append("city", getCity())
            .append("area", getArea())
            .append("address", getAddress())
            .append("remindTime", getRemindTime())
            .append("expressId", getExpressId())
            .append("expressName", getExpressName())
            .append("expressNumber", getExpressNumber())
            .append("expressTime", getExpressTime())
            .append("confirmTime", getConfirmTime())
            .append("reviewTime", getReviewTime())
            .append("updateTime", getUpdateTime())
            .append("upPayImg", getUpPayImg())
            .toString();
    }
}
